package net.thxjj.adminServer.service;

import java.util.List;

import net.thxjj.adminServer.entity.*;
import net.thxjj.adminServer.entity.aep.DevLog;
import net.thxjj.adminServer.entity.aep.HeartData;
import net.thxjj.adminServer.entity.aep.LoginData;
import net.thxjj.adminServer.entity.aep.SmokeData;
import net.thxjj.adminServer.util.ParameterMap;
import net.thxjj.sitermodel.Device;
import org.springframework.stereotype.Component;

@Component
public interface IDevLogService {
    

	public void addEvent(List<DevLog> list);

	public void addData(List<HeartData> list, List<SmokeData> smokeDataList, List<LoginData> listlogin);

	//获取火灾告警状态
	public ParameterMap SmokeAlarmStatus(String device_id);

	//获取传感器状态
	public ParameterMap SensorFault(String device_id);

	//获取低电压状态
	public ParameterMap LowVoltFault(String device_id);

	//获取拆除状态
	public ParameterMap DismantleStatus(String device_id);

	//获取烟雾浓度状态
	public ParameterMap SmokeValue(String device_id);

	//获取电池电量
	public ParameterMap BatteryValue(String device_id);

	//获取电池电压
	public ParameterMap BatteryVoltage(String device_id);


	//获取软件版本号
	public ParameterMap SoftWareVersion(String device_id);

	//获取硬件版本号
	public ParameterMap HardWareVersion(String device_id);

	//获取心跳包成功率
	public ParameterMap HeartBeat(String device_id);

	//MQ插入事件
	public void mqAddDevLog (DevLog devLog);

	//MQ插入smoke状态数据
	public void mqAddSmokeData (SmokeData smokeData);

	//MQ插入Login状态数据
	public void mqAddLoginData (LoginData loginData);
	//MQ插入心跳包数据
	public void mqAddHeartData (HeartData heartData);

	//判断是否发生多次登录的异常
	public ParameterMap isMultiLoginError(String device_id);

	//同步所有数据
	public void updateDeviceData (Device device);

	//同步所有事件数据
	public void updateDeviceEvent (Device device);
}
